/*===============================================
*   文件名称：tcp_client.c
*   创 建 者：     
*   创建日期：2024年09月14日
*   描    述：
================================================*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{ 
    if(argc < 3){
        printf("Usage:%s <IP> <PORT>\n", argv[0]);
        return -1;
    }

    //创建套接字
    int cfd = socket(AF_INET, SOCK_STREAM, 0);
    if(-1 == cfd){
        perror("socket");
        return -1;
    }

    //设置需要连接的目标服务器的IP PORT
    struct sockaddr_in saddr;
    saddr.sin_family      = AF_INET;
    saddr.sin_port        = htons( atoi(argv[2]) );
    saddr.sin_addr.s_addr = inet_addr( argv[1] );

    //向服务器发起连接请求
    if(-1 == connect(cfd, (void *)&saddr, sizeof saddr)){
        perror("connect");
        return -1;
    }
    puts("connect success!");
    char buf[128];
    while(1){
        printf("> ");
        fgets(buf, 128, stdin);
        write(cfd, buf, 128);
        if(0 == strncasecmp(buf, "quit", 4)){
            break;
        }

        read(cfd, buf, 128);
        printf("%s", buf);
    }

    close(cfd);
    return 0;
} 
